/*
 * Copyright 2018-present KunMinX
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.nsgf.library.data.bean;

import android.annotation.SuppressLint;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.view.View;

import androidx.databinding.BaseObservable;
import androidx.databinding.Bindable;

import com.google.gson.annotations.SerializedName;
import com.nsgf.library.BR;
import com.nsgf.library.R;
import com.nsgf.library.base.BaseApplication;
import com.nsgf.skjz.utils.Kits;
import com.nsgf.skjz.utils.StringUtil;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * Create by GC at 24/11/2
 * <p>
 * bean，原始数据，只读，
 * Java 我们通过移除 setter
 * kotlin 直接将字段设为 val 即可
 */
public class LibraryInfo extends BaseObservable implements Serializable {
    private String cacheKey;
    private String publicKey;
    private final String title;
    private final String summary;
    private final String url;
    private int imgId;
    private String path;
    private List<LibraryInfo> list = new ArrayList<>();
    private String badge;
    private int badgeView = View.GONE;
    private String badgeClock;
    private int badgeClockView = View.GONE;
    private String name;
    private String value;
    private boolean check;
    private String id;
    private String version;
    private int version_code;
    private String content;
    private int is_force;
    private String type;
    private String created_at;
    private String updated_at;
    private String certificate;
    private String inspectDate;
    private String totalNum;
    private String completeNum;
    private String unCompleteNum;
    private String abnormalNum;
    private String userName;
    private String userNameReal;
    private String isPatrol;
    private String projectCodeDesc;
    private String projectCode;
    private String projectName;
    private List<ReservoirBean> river;
    private List<ReservoirBean> reservoir;
    private String reservoirName;
    private String currentWaterLevel;
    private String floodControl;
    private String design;
    private String proofread;
    private String waterLevelCode;
    private String latestTime;

    private String today;
    private String threeDays;
    private String sevenDays;
    private String rainfallStand;
    private String todayRainType;
    private String deviceName;
    private String kd;
    private String tm;
    private String templateId;
    private String className;
    private String responsibleNameReal;
    private String workPriorities;
    private List<TaskTimesBean> taskTimes;
    private String startDate;
    private String endDate;
    private String actualStartDate;
    private String actualEndDate;
    /**
     * projectAreaCode : 320111008000,320111000000,320100000000
     * projectAreaCodeDesc : 南京市,浦口区,星甸街道
     * projectCity : 南京市
     * projectCounty : 浦口区
     * projectTown : 星甸街道
     * registration : registration.type.1
     * registrationDesc : 登记
     * location : 江苏省南京市高淳区
     * majorFunction : 灌溉、养殖、防汛防洪
     * projectScale : 中一型
     * capacity : 1234
     * maximumHeight : 121
     * damType : 测试坝型1
     * damSafety : 一类坝
     * managementDepartment : 高淳区水务局
     * managementUnit : 龙墩河水库管理所
     * managementQuality : 事业单位
     * registerNumber : 13579
     * issueDate : 2024-11-05
     * fileUrl : [{"fileName":null,"filePath":"/bu_safety_register/II测试专用.pdf","fileSize":0,"isDelete":null}]
     * imageUrl : [{"fileName":null,"filePath":"/bu_safety_register/1024x1024.png","fileSize":0,"isDelete":null}]
     * imageUrl1 : [{"fileName":null,"filePath":"/bu_safety_register/Ib1.bmp","fileSize":0,"isDelete":null}]
     * remark : null
     * isExperiment : 1
     */

    private String projectAreaCode;
    private String projectAreaCodeDesc;
    private String projectCity;
    private String projectCounty;
    private String projectTown;
    private String registration;
    private String registrationDesc;
    private String location;
    private String majorFunction;
    private String projectScale;
    private String capacity;
    private String maximumHeight;
    private String damType;
    private String damSafety;
    private String managementDepartment;
    private String managementUnit;
    private String managementQuality;
    private String registerNumber;
    private String issueDate;
    private Object remark;
    private int isExperiment;
    private List<FileUrlBean> fileUrl;
    private List<ImageUrlBean> imageUrl;
    private List<ImageUrl1Bean> imageUrl1;
    public LibraryInfo(String title, String summary, String url) {
        this.title = title;
        this.summary = summary;
        this.url = url;
    }

    public LibraryInfo(String title, String summary, String url, int imgId) {
        this.title = title;
        this.summary = summary;
        this.url = url;
        this.imgId = imgId;
        List<LibraryInfo> list = new ArrayList<>();
        list.add(this);
        list.add(this);
        list.add(this);
        this.list = list;

    }

    public String getTitle() {
        return StringUtil.isEmpty(title) ? getName() : title;
    }

    public String getSummary() {
        return summary;
    }

    public int getTypeRainfall() {
        return "0".equals(getType()) ? View.VISIBLE : View.GONE;
    }

    public int getTypeWater() {
        return "1".equals(getType()) ? View.VISIBLE : View.GONE;
    }

    public String getUrl() {
        return url;
    }

    public int getImgId() {
        return imgId;
    }

    @SuppressLint("UseCompatLoadingForDrawables")
    public Drawable getImgDrawable() {
        return BaseApplication.getInstance().getResources().getDrawable(imgId);
    }

    public void setImgId(int imgId) {
        this.imgId = imgId;
    }

    public List<LibraryInfo> getList() {
        if (null == list)
            list = new ArrayList<>();
        return list;
    }

    public void setList(List<LibraryInfo> list) {
        this.list = list;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    @Bindable
    public String getBadge() {
        return badge;
    }

    public void setBadge(String badge) {
        this.badge = badge;
        setBadgeView(StringUtil.isEmpty(badge) || "0".equals(badge) ? View.GONE : View.VISIBLE);
        notifyPropertyChanged(BR.badge);
    }

    @Bindable
    public int getBadgeView() {
        return badgeView;
    }

    public void setBadgeView(int badgeView) {
        this.badgeView = badgeView;
        notifyPropertyChanged(BR.badgeView);
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getName() {
        return StringUtil.isEmpty(name) ? "" : name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public boolean isCheck() {
        return check;
    }

    public int isCheckView() {
        return isCheck() ? View.VISIBLE : View.INVISIBLE;
    }

    public void setCheck(boolean check) {
        this.check = check;
    }

    @Bindable
    public int getBadgeClockView() {
        return badgeClockView;
    }

    @Bindable
    public Drawable getBadgeClockViewBg() {
        return "未打卡".equals(getBadgeClock()) ? BaseApplication.getInstance().getResources().getDrawable(R.drawable.simple_count_badge_clock_false_bg) : BaseApplication.getInstance().getResources().getDrawable(R.drawable.simple_count_badge_clock_true_bg);
    }

    public void setBadgeClockView(int badgeClockView) {
        this.badgeClockView = badgeClockView;
        notifyPropertyChanged(BR.badgeClockView);
    }

    @Bindable
    public String getBadgeClock() {
        return badgeClock;
    }

    public void setBadgeClock(String badgeClock) {
        this.badgeClock = badgeClock;
        setBadgeClockView(StringUtil.isEmpty(badgeClock) ? View.GONE : View.VISIBLE);
        notifyPropertyChanged(BR.badgeClock);
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public int getVersion_code() {
        return version_code;
    }

    public void setVersion_code(int version_code) {
        this.version_code = version_code;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public int getIs_force() {
        return is_force;
    }

    public void setIs_force(int is_force) {
        this.is_force = is_force;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getCreated_at() {
        return created_at;
    }

    public void setCreated_at(String created_at) {
        this.created_at = created_at;
    }

    public String getUpdated_at() {
        return updated_at;
    }

    public void setUpdated_at(String updated_at) {
        this.updated_at = updated_at;
    }

    public String getCertificate() {
        return certificate;
    }

    public void setCertificate(String certificate) {
        this.certificate = certificate;
    }

    public String getInspectDate() {
        return inspectDate;
    }

    public void setInspectDate(String inspectDate) {
        this.inspectDate = inspectDate;
    }

    public String getTotalNum() {
        return totalNum;
    }

    public void setTotalNum(String totalNum) {
        this.totalNum = totalNum;
    }

    public String getCompleteNum() {
        return completeNum;
    }

    public void setCompleteNum(String completeNum) {
        this.completeNum = completeNum;
    }

    public String getUnCompleteNum() {
        return unCompleteNum;
    }

    public void setUnCompleteNum(String unCompleteNum) {
        this.unCompleteNum = unCompleteNum;
    }

    public String getAbnormalNum() {
        return abnormalNum;
    }

    public void setAbnormalNum(String abnormalNum) {
        this.abnormalNum = abnormalNum;
    }

    public String getUserName() {
        return StringUtil.isEmpty(userName) ? "" : userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getIsPatrol() {
        return isPatrol;
    }

    public void setIsPatrol(String isPatrol) {
        this.isPatrol = isPatrol;
    }

    public String getProjectCodeDesc() {
        return projectCodeDesc;
    }

    public void setProjectCodeDesc(String projectCodeDesc) {
        this.projectCodeDesc = projectCodeDesc;
    }

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public List<ReservoirBean> getRiver() {
        return river;
    }

    public void setRiver(List<ReservoirBean> river) {
        this.river = river;
    }

    public List<ReservoirBean> getReservoir() {
        return reservoir;
    }

    public void setReservoir(List<ReservoirBean> reservoir) {
        this.reservoir = reservoir;
    }

    public String getReservoirName() {
        return reservoirName;
    }

    public Drawable getItemIcon() {

        if (!StringUtil.isEmpty(getCurrentWaterLevel()) && !StringUtil.isEmpty(getFloodControl())) {

            if (Double.parseDouble(getCurrentWaterLevel()) > Double.parseDouble(getFloodControl())) {
                return BaseApplication.getInstance().getResources().getDrawable(R.drawable.ic_nsgf_home_situation_warn);
            } else {
                return BaseApplication.getInstance().getResources().getDrawable(R.drawable.ic_nsgf_home_situation);
            }
        }
        return BaseApplication.getInstance().getResources().getDrawable(R.drawable.ic_nsgf_home_situation);
    }

    public void setReservoirName(String reservoirName) {
        this.reservoirName = reservoirName;
    }

    public String getCurrentWaterLevel() {
        return currentWaterLevel;
    }

    public String getCurrentWaterLevelSrc() {
        if (Kits.Date.isToday(Kits.Date.timeStrToSecond(latestTime)))
            return StringUtil.isEmpty(currentWaterLevel) ? "--" : currentWaterLevel;
        else return "--";
    }

    public String getCurrentWaterLevelListSrc() {
        return StringUtil.isEmpty(currentWaterLevel) ? "--" : currentWaterLevel + "m";
    }

    public int getCurrentWaterLevelColor() {

        if (!StringUtil.isEmpty(getCurrentWaterLevel()) && !StringUtil.isEmpty(getFloodControl())) {

            if (Double.parseDouble(getCurrentWaterLevel()) > Double.parseDouble(getFloodControl())) {
                return Color.parseColor("#F53F3F");
            } else {
                return Color.parseColor("#1D2129");
            }
        }
        return Color.parseColor("#1D2129");

    }

    public void setCurrentWaterLevel(String currentWaterLevel) {
        this.currentWaterLevel = currentWaterLevel;
    }

    public String getFloodControl() {
        return floodControl;
    }

    public String getFloodControlSrc() {
//        if (Kits.Date.isToday(Kits.Date.timeStrToSecond(latestTime)))
            return StringUtil.isEmpty(floodControl) ? "--" : floodControl;
//        else return "--";
    }

    public String getFloodControlListSrc() {
        if ("1".equals(getType())) {
            return "三日：" + getThreeDays() + "mm";
        } else
            return "汛限水位：" + getFloodControlSrc() + "m";
    }

    public void setFloodControl(String floodControl) {
        this.floodControl = floodControl;
    }

    public String getDesign() {
        return StringUtil.isEmpty(design) ? "--" : design;
    }

    public String getDesignSrc() {
        if ("1".equals(getType())) {
            return "七日：" + getSevenDays() + "mm";
        } else
            return "设计水位：" + getDesign() + "m";
    }

    public void setDesign(String design) {
        this.design = design;
    }

    public String getProofread() {
        return StringUtil.isEmpty(proofread) ? "--" : proofread;
    }

    public String getProofreadSrc() {
        return "校核水位：" + getProofread() + "m";
    }

    public void setProofread(String proofread) {
        this.proofread = proofread;
    }

    public String getWaterLevelCode() {
        return waterLevelCode;
    }

    public void setWaterLevelCode(String waterLevelCode) {
        this.waterLevelCode = waterLevelCode;
    }

    public String getLatestTime() {
        return StringUtil.isEmpty(latestTime) ? "暂无数据" : latestTime;
    }

    public void setLatestTime(String latestTime) {
        this.latestTime = latestTime;
    }

    public String getToday() {
        return StringUtil.isEmpty(today) ? "--" : today;
    }

    public String getTodaySrc() {
        return (StringUtil.isEmpty(today) ? "--" : today) + "mm";
    }

    public void setToday(String today) {
        this.today = today;
    }

    public String getThreeDays() {
        return StringUtil.isEmpty(threeDays) ? "--" : threeDays;
    }

    public void setThreeDays(String threeDays) {
        this.threeDays = threeDays;
    }

    public String getSevenDays() {
        return StringUtil.isEmpty(sevenDays) ? "--" : sevenDays;
    }

    public void setSevenDays(String sevenDays) {
        this.sevenDays = sevenDays;
    }

    public String getRainfallStand() {
        return StringUtil.isEmpty(rainfallStand) ? "--" : rainfallStand;
    }

    public void setRainfallStand(String rainfallStand) {
        this.rainfallStand = rainfallStand;
    }

    public String getTodayRainType() {
        return StringUtil.isEmpty(todayRainType) ? "" : todayRainType;
    }

    public void setTodayRainType(String todayRainType) {
        this.todayRainType = todayRainType;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getKd() {
        return StringUtil.isEmpty(kd) ? "--" : kd;
    }

    public void setKd(String kd) {
        this.kd = kd;
    }

    public String getTm() {
        if (StringUtil.isEmpty(tm)) {
            return "--";
        }

        return Kits.Date.getMdHm(Kits.Date.timeStrToSecond(tm));
    }

    public void setTm(String tm) {
        this.tm = tm;
    }

    public String getTemplateId() {
        return templateId;
    }

    public void setTemplateId(String templateId) {
        this.templateId = templateId;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getResponsibleNameReal() {
        return responsibleNameReal;
    }

    public void setResponsibleNameReal(String responsibleNameReal) {
        this.responsibleNameReal = responsibleNameReal;
    }

    public String getWorkPriorities() {
        return workPriorities;
    }

    public void setWorkPriorities(String workPriorities) {
        this.workPriorities = workPriorities;
    }

    public List<TaskTimesBean> getTaskTimes() {
        if (null != taskTimes)
            if (taskTimes.isEmpty())
                return null;
        return taskTimes;
    }

    public String getTaskTimesMonth() {
        if (null == getTaskTimes())
            return "--";
        return getTaskTimes().get(0).getMonth() + "月";
    }

    public String getTaskTimesWeek() {
        if (null == getTaskTimes())
            return "--";
        return getTaskTimes().get(0).getWeek() + "周";
    }

    public void setTaskTimes(List<TaskTimesBean> taskTimes) {
        this.taskTimes = taskTimes;
    }

    public String getStartDate() {
        return startDate;
    }

    public String getStartOrEndDate() {
        return startDate + "~" + endDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public String getActualStartDate() {
        return actualStartDate;
    }

    public void setActualStartDate(String actualStartDate) {
        this.actualStartDate = actualStartDate;
    }

    public String getActualEndDate() {
        return actualEndDate;
    }

    public String getActualStartDateOrActualEndDate() {
        return getActualStartDate() + "~" + getActualEndDate();
    }

    public void setActualEndDate(String actualEndDate) {
        this.actualEndDate = actualEndDate;
    }

    public String getUserNameReal() {
        return userNameReal;
    }

    public void setUserNameReal(String userNameReal) {
        this.userNameReal = userNameReal;
    }

    public String getProjectAreaCode() {
        return projectAreaCode;
    }

    public void setProjectAreaCode(String projectAreaCode) {
        this.projectAreaCode = projectAreaCode;
    }

    public String getProjectAreaCodeDesc() {
        return projectAreaCodeDesc;
    }

    public void setProjectAreaCodeDesc(String projectAreaCodeDesc) {
        this.projectAreaCodeDesc = projectAreaCodeDesc;
    }

    public String getProjectCity() {
        return projectCity;
    }

    public void setProjectCity(String projectCity) {
        this.projectCity = projectCity;
    }

    public String getProjectCounty() {
        return projectCounty;
    }

    public void setProjectCounty(String projectCounty) {
        this.projectCounty = projectCounty;
    }

    public String getProjectTown() {
        return projectTown;
    }

    public void setProjectTown(String projectTown) {
        this.projectTown = projectTown;
    }

    public String getRegistration() {
        return registration;
    }

    public void setRegistration(String registration) {
        this.registration = registration;
    }

    public String getRegistrationDesc() {
        return registrationDesc;
    }

    public void setRegistrationDesc(String registrationDesc) {
        this.registrationDesc = registrationDesc;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getMajorFunction() {
        return majorFunction;
    }

    public void setMajorFunction(String majorFunction) {
        this.majorFunction = majorFunction;
    }

    public String getProjectScale() {
        return projectScale;
    }

    public void setProjectScale(String projectScale) {
        this.projectScale = projectScale;
    }

    public String getCapacity() {
        return capacity;
    }

    public void setCapacity(String capacity) {
        this.capacity = capacity;
    }

    public String getMaximumHeight() {
        return maximumHeight;
    }

    public void setMaximumHeight(String maximumHeight) {
        this.maximumHeight = maximumHeight;
    }

    public String getDamType() {
        return damType;
    }

    public void setDamType(String damType) {
        this.damType = damType;
    }

    public String getDamSafety() {
        return damSafety;
    }

    public void setDamSafety(String damSafety) {
        this.damSafety = damSafety;
    }

    public String getManagementDepartment() {
        return managementDepartment;
    }

    public void setManagementDepartment(String managementDepartment) {
        this.managementDepartment = managementDepartment;
    }

    public String getManagementUnit() {
        return managementUnit;
    }

    public void setManagementUnit(String managementUnit) {
        this.managementUnit = managementUnit;
    }

    public String getManagementQuality() {
        return managementQuality;
    }

    public void setManagementQuality(String managementQuality) {
        this.managementQuality = managementQuality;
    }

    public String getRegisterNumber() {
        return registerNumber;
    }

    public void setRegisterNumber(String registerNumber) {
        this.registerNumber = registerNumber;
    }

    public String getIssueDate() {
        return issueDate;
    }

    public void setIssueDate(String issueDate) {
        this.issueDate = issueDate;
    }

    public Object getRemark() {
        return remark;
    }

    public void setRemark(Object remark) {
        this.remark = remark;
    }

    public int getIsExperiment() {
        return isExperiment;
    }

    public void setIsExperiment(int isExperiment) {
        this.isExperiment = isExperiment;
    }

    public List<FileUrlBean> getFileUrl() {
        return fileUrl;
    }

    public void setFileUrl(List<FileUrlBean> fileUrl) {
        this.fileUrl = fileUrl;
    }

    public List<ImageUrlBean> getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(List<ImageUrlBean> imageUrl) {
        this.imageUrl = imageUrl;
    }

    public List<ImageUrl1Bean> getImageUrl1() {
        return imageUrl1;
    }

    public void setImageUrl1(List<ImageUrl1Bean> imageUrl1) {
        this.imageUrl1 = imageUrl1;
    }

    public String getCacheKey() {
        return cacheKey;
    }

    public void setCacheKey(String cacheKey) {
        this.cacheKey = cacheKey;
    }

    public String getPublicKey() {
        return publicKey;
    }

    public void setPublicKey(String publicKey) {
        this.publicKey = publicKey;
    }

    public static class ReservoirBean {
        public String getFacilityCode() {
            return facilityCode;
        }

        public void setFacilityCode(String facilityCode) {
            this.facilityCode = facilityCode;
        }

        public String getFloodWaterLevelTime() {
            return floodWaterLevelTime;
        }

        public void setFloodWaterLevelTime(String floodWaterLevelTime) {
            this.floodWaterLevelTime = floodWaterLevelTime;
        }

        public String getStationType() {
            return stationType;
        }

        public void setStationType(String stationType) {
            this.stationType = stationType;
        }

        public String getFloodWaterLevel() {
            return floodWaterLevel + "m";
        }

        public void setFloodWaterLevel(String floodWaterLevel) {
            this.floodWaterLevel = floodWaterLevel;
        }

        public String getFacilityName() {
            return facilityName;
        }

        public void setFacilityName(String facilityName) {
            this.facilityName = facilityName;
        }

        private String facilityCode;
        private String floodWaterLevelTime;
        private String stationType;
        private String floodWaterLevel;
        private String facilityName;
        private String waterLevel;

        public String getWaterLevel() {
            return StringUtil.isEmpty(waterLevel) ? "--" : waterLevel;
        }

        public String getWaterLevelSrc() {
            return StringUtil.isEmpty(waterLevel) ? "--" : waterLevel + "m";
        }

        public void setWaterLevel(String waterLevel) {
            this.waterLevel = waterLevel;
        }


    }

    public static class TaskTimesBean {
        /**
         * id : 1877339143438086146
         * taskId : 1877339142086594561
         * year : 2025
         * month : 1
         * week : 1
         * startDate : 2025-01-06
         * endDate : 2025-01-12
         * createBy : 管理员
         * createTime : 2025-01-09 20:58:26
         * updateBy : null
         * updateTime : null
         * isDelete : 0
         * children : null
         */

        @SerializedName("id")
        private String idX;
        private String taskId;
        private int year;
        private int month;
        private int week;
        private String startDate;
        private String endDate;
        private String createBy;
        private String createTime;
        private Object updateBy;
        private Object updateTime;
        private int isDelete;
        private Object children;

        public String getIdX() {
            return idX;
        }

        public void setIdX(String idX) {
            this.idX = idX;
        }

        public String getTaskId() {
            return taskId;
        }

        public void setTaskId(String taskId) {
            this.taskId = taskId;
        }

        public int getYear() {
            return year;
        }

        public void setYear(int year) {
            this.year = year;
        }

        public int getMonth() {
            return month;
        }

        public String getMonthSrc() {
            return month + "月";
        }

        public void setMonth(int month) {
            this.month = month;
        }

        public int getWeek() {
            return week;
        }

        public String getWeekSrc() {
            return week + "周";
        }

        public void setWeek(int week) {
            this.week = week;
        }

        public String getStartDate() {
            return startDate;
        }

        public void setStartDate(String startDate) {
            this.startDate = startDate;
        }

        public String getEndDate() {
            return endDate;
        }

        public void setEndDate(String endDate) {
            this.endDate = endDate;
        }

        public String getCreateBy() {
            return createBy;
        }

        public void setCreateBy(String createBy) {
            this.createBy = createBy;
        }

        public String getCreateTime() {
            return createTime;
        }

        public void setCreateTime(String createTime) {
            this.createTime = createTime;
        }

        public Object getUpdateBy() {
            return updateBy;
        }

        public void setUpdateBy(Object updateBy) {
            this.updateBy = updateBy;
        }

        public Object getUpdateTime() {
            return updateTime;
        }

        public void setUpdateTime(Object updateTime) {
            this.updateTime = updateTime;
        }

        public int getIsDelete() {
            return isDelete;
        }

        public void setIsDelete(int isDelete) {
            this.isDelete = isDelete;
        }

        public Object getChildren() {
            return children;
        }

        public void setChildren(Object children) {
            this.children = children;
        }
    }

    public static class FileUrlBean {
        /**
         * fileName : null
         * filePath : /bu_safety_register/II测试专用.pdf
         * fileSize : 0
         * isDelete : null
         */

        private Object fileName;
        private String filePath;
        private int fileSize;
        private Object isDelete;

        public Object getFileName() {
            return fileName;
        }

        public void setFileName(Object fileName) {
            this.fileName = fileName;
        }

        public String getFilePath() {
            return filePath;
        }

        public void setFilePath(String filePath) {
            this.filePath = filePath;
        }

        public int getFileSize() {
            return fileSize;
        }

        public void setFileSize(int fileSize) {
            this.fileSize = fileSize;
        }

        public Object getIsDelete() {
            return isDelete;
        }

        public void setIsDelete(Object isDelete) {
            this.isDelete = isDelete;
        }
    }

    public static class ImageUrlBean {
        /**
         * fileName : null
         * filePath : /bu_safety_register/1024x1024.png
         * fileSize : 0
         * isDelete : null
         */

        private Object fileName;
        private String filePath;
        private int fileSize;
        private Object isDelete;

        public Object getFileName() {
            return fileName;
        }

        public void setFileName(Object fileName) {
            this.fileName = fileName;
        }

        public String getFilePath() {
            return filePath;
        }

        public void setFilePath(String filePath) {
            this.filePath = filePath;
        }

        public int getFileSize() {
            return fileSize;
        }

        public void setFileSize(int fileSize) {
            this.fileSize = fileSize;
        }

        public Object getIsDelete() {
            return isDelete;
        }

        public void setIsDelete(Object isDelete) {
            this.isDelete = isDelete;
        }
    }

    public static class ImageUrl1Bean {
        /**
         * fileName : null
         * filePath : /bu_safety_register/Ib1.bmp
         * fileSize : 0
         * isDelete : null
         */

        private Object fileName;
        private String filePath;
        private int fileSize;
        private Object isDelete;

        public Object getFileName() {
            return fileName;
        }

        public void setFileName(Object fileName) {
            this.fileName = fileName;
        }

        public String getFilePath() {
            return filePath;
        }

        public void setFilePath(String filePath) {
            this.filePath = filePath;
        }

        public int getFileSize() {
            return fileSize;
        }

        public void setFileSize(int fileSize) {
            this.fileSize = fileSize;
        }

        public Object getIsDelete() {
            return isDelete;
        }

        public void setIsDelete(Object isDelete) {
            this.isDelete = isDelete;
        }
    }
}
